﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 还款单AITDTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class LoanPayingAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public LoanPayingAITDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
		
		
		
		
		
		
					PayMny=0m; 
		
		
		
		
		
		
		
					PayToLocalCurRate=0m; 

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        			if (this.LoanPayingDetail!=null)
			{
				foreach(ufida.u9.ait.openapi.LoanPayingDetailAITDTOData objdata in this.LoanPayingDetail)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        	        			if (this.Payer != null) 
			{
				this.Payer.DoSerializeKeyList(dict);
			}
	        	        			if (this.PayCurrency != null) 
			{
				this.PayCurrency.DoSerializeKeyList(dict);
			}
	        			if (this.LoanPayDocType != null) 
			{
				this.LoanPayDocType.DoSerializeKeyList(dict);
			}
	        			if (this.CashierGather!=null)
			{
				foreach(ufida.u9.ait.openapi.CashierGatherAITDTOData objdata in this.CashierGather)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        			if (this.DescFlexField != null) 
			{
				this.DescFlexField.DoSerializeKeyList(dict);
			}
	        	        			if (this.PayOrg != null) 
			{
				this.PayOrg.DoSerializeKeyList(dict);
			}
	        			if (this.SettleOrg != null) 
			{
				this.SettleOrg.DoSerializeKeyList(dict);
			}
	        	        			if (this.PayerOrg != null) 
			{
				this.PayerOrg.DoSerializeKeyList(dict);
			}
	        			if (this.BankCardCategory != null) 
			{
				this.BankCardCategory.DoSerializeKeyList(dict);
			}
	        			if (this.BankCardNumber != null) 
			{
				this.BankCardNumber.DoSerializeKeyList(dict);
			}
	        			if (this.ExchangeRateType != null) 
			{
				this.ExchangeRateType.DoSerializeKeyList(dict);
			}
	        
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public LoanPayingAITDTOData(  List<ufida.u9.ait.openapi.LoanPayingDetailAITDTOData> loanPayingDetail  , System.String docNo  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData payer  , System.String payDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData payCurrency  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData loanPayDocType  , List<ufida.u9.ait.openapi.CashierGatherAITDTOData> cashierGather  , ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData descFlexField  , System.Decimal payMny  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData payOrg  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData settleOrg  , System.String memo  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData payerOrg  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData bankCardCategory  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData bankCardNumber  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData exchangeRateType  , System.Decimal payToLocalCurRate  )
		{
			initData();
			this.LoanPayingDetail = loanPayingDetail;
			this.DocNo = docNo;
			this.Payer = payer;
			this.PayDate = payDate;
			this.PayCurrency = payCurrency;
			this.LoanPayDocType = loanPayDocType;
			this.CashierGather = cashierGather;
			this.DescFlexField = descFlexField;
			this.PayMny = payMny;
			this.PayOrg = payOrg;
			this.SettleOrg = settleOrg;
			this.Memo = memo;
			this.PayerOrg = payerOrg;
			this.BankCardCategory = bankCardCategory;
			this.BankCardNumber = bankCardNumber;
			this.ExchangeRateType = exchangeRateType;
			this.PayToLocalCurRate = payToLocalCurRate;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 还款单行
		/// 还款单AITDTO.Misc.还款单行
		/// </summary>
		private List<ufida.u9.ait.openapi.LoanPayingDetailAITDTOData> m_loanPayingDetail ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.LoanPayingDetailAITDTOData> LoanPayingDetail
		{
			get	
			{	
				if (m_loanPayingDetail == null )
				{
					List<ufida.u9.ait.openapi.LoanPayingDetailAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.LoanPayingDetailAITDTOData>() ;
					m_loanPayingDetail = n_m_list ;
				}
				return m_loanPayingDetail ;
			}
			set	
			{	
				m_loanPayingDetail = value ;	
			}
		}
			
		

		/// <summary>
		/// 单号
		/// 还款单AITDTO.Misc.单号
		/// </summary>
		private System.String m_docNo ;
		[DataMember(IsRequired=false)]
		public System.String DocNo
		{
			get	
			{	
				return m_docNo ;
			}
			set	
			{	
				m_docNo = value ;	
			}
		}
			
		

		/// <summary>
		/// 还款人
		/// 还款单AITDTO.Misc.还款人
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_payer ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Payer
		{
			get	
			{	
				return m_payer ;
			}
			set	
			{	
				m_payer = value ;	
			}
		}
			
		

		/// <summary>
		/// 还款日期
		/// 还款单AITDTO.Misc.还款日期
		/// </summary>
		private System.String m_payDate ;
		[DataMember(IsRequired=false)]
		public System.String PayDate
		{
			get	
			{	
				return m_payDate ;
			}
			set	
			{	
				m_payDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 币种
		/// 还款单AITDTO.Misc.币种
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_payCurrency ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData PayCurrency
		{
			get	
			{	
				return m_payCurrency ;
			}
			set	
			{	
				m_payCurrency = value ;	
			}
		}
			
		

		/// <summary>
		/// 单据类型
		/// 还款单AITDTO.Misc.单据类型
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_loanPayDocType ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData LoanPayDocType
		{
			get	
			{	
				return m_loanPayDocType ;
			}
			set	
			{	
				m_loanPayDocType = value ;	
			}
		}
			
		

		/// <summary>
		/// 收款子表
		/// 还款单AITDTO.Misc.收款子表
		/// </summary>
		private List<ufida.u9.ait.openapi.CashierGatherAITDTOData> m_cashierGather ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.CashierGatherAITDTOData> CashierGather
		{
			get	
			{	
				if (m_cashierGather == null )
				{
					List<ufida.u9.ait.openapi.CashierGatherAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.CashierGatherAITDTOData>() ;
					m_cashierGather = n_m_list ;
				}
				return m_cashierGather ;
			}
			set	
			{	
				m_cashierGather = value ;	
			}
		}
			
		

		/// <summary>
		/// 实体扩展字段
		/// 还款单AITDTO.Misc.实体扩展字段
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData m_descFlexField ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData DescFlexField
		{
			get	
			{	
				return m_descFlexField ;
			}
			set	
			{	
				m_descFlexField = value ;	
			}
		}
			
		

		/// <summary>
		/// 还款金额
		/// 还款单AITDTO.Misc.还款金额
		/// </summary>
		private System.Decimal m_payMny ;
		[DataMember(IsRequired=false)]
		public System.Decimal PayMny
		{
			get	
			{	
				return m_payMny ;
			}
			set	
			{	
				m_payMny = value ;	
			}
		}
			
		

		/// <summary>
		/// 还款组织
		/// 还款单AITDTO.Misc.还款组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_payOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData PayOrg
		{
			get	
			{	
				return m_payOrg ;
			}
			set	
			{	
				m_payOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 结算组织
		/// 还款单AITDTO.Misc.结算组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_settleOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData SettleOrg
		{
			get	
			{	
				return m_settleOrg ;
			}
			set	
			{	
				m_settleOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 备注
		/// 还款单AITDTO.Misc.备注
		/// </summary>
		private System.String m_memo ;
		[DataMember(IsRequired=false)]
		public System.String Memo
		{
			get	
			{	
				return m_memo ;
			}
			set	
			{	
				m_memo = value ;	
			}
		}
			
		

		/// <summary>
		/// 还款人组织
		/// 还款单AITDTO.Misc.还款人组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_payerOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData PayerOrg
		{
			get	
			{	
				return m_payerOrg ;
			}
			set	
			{	
				m_payerOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 银行卡类型
		/// 还款单AITDTO.Misc.银行卡类型
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_bankCardCategory ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData BankCardCategory
		{
			get	
			{	
				return m_bankCardCategory ;
			}
			set	
			{	
				m_bankCardCategory = value ;	
			}
		}
			
		

		/// <summary>
		/// 员工银行卡号
		/// 还款单AITDTO.Misc.员工银行卡号
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_bankCardNumber ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData BankCardNumber
		{
			get	
			{	
				return m_bankCardNumber ;
			}
			set	
			{	
				m_bankCardNumber = value ;	
			}
		}
			
		

		/// <summary>
		/// 汇率类型
		/// 还款单AITDTO.Misc.汇率类型
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_exchangeRateType ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ExchangeRateType
		{
			get	
			{	
				return m_exchangeRateType ;
			}
			set	
			{	
				m_exchangeRateType = value ;	
			}
		}
			
		

		/// <summary>
		/// 汇率
		/// 还款单AITDTO.Misc.汇率
		/// </summary>
		private System.Decimal m_payToLocalCurRate ;
		[DataMember(IsRequired=false)]
		public System.Decimal PayToLocalCurRate
		{
			get	
			{	
				return m_payToLocalCurRate ;
			}
			set	
			{	
				m_payToLocalCurRate = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																																		
		#endregion 
	} 	
}
